This invention relates to a method and apparatus for controlling a robot and, more particularly, to a method and apparatus which enable a robot to perform its duties safely and to be taught those duties in a very simple manner.
The rising cost of labor in the industrialized world has given rise to a demand for labor-saving measures and for improvements in work procedures. Industrial robots have been put into use to meet this demand and have been very successful in doing so. Particularly outstanding results have been achieved in plants having numerous machine tools where industrial robots are used to perform such simple tasks as changing the workpieces and tools associated with each machine tool. The demand for such robots has grown yearly. These industrial robots have a so called "play-back" capability, in which the robots are taught their tasks or services and then caused to perform these tasks as necessary. Specifica11y, a teaching panel is used to enter the tasks that are to be performed, these tasks constituting robot instruction data which is stored beforehand in a memory located within the associated control unit. Whenever a request for a particular service arrive from the machine tool side, a series of the above robot instruction data is read out of the memory sequentially, and the robot responds to the instructions by servicing the machine tool in repeated fashion as required.
The robot instruction data comprises positional information regarding the point at which a service is to be performed, robot operating speed, and service codes which instruct how the robot hand is to be controlled at the abovementioned point and which also instructs the exchange of signals with the machine too. In general, the teaching operation mentioned above proceeds in the following order: (1) establish the memory addresses of the memory locations at which the items of robot instruction data are to be stored; (2) position the robot arm by a jog feed operation (that is, by moving the arm manually); (3) set the positional information regarding the servicing point and set the value of the speed command; and (4) set the robot service codes. A series of robot operations related to a machine tool is taught by repeating the aforesaid steps (1) through (4). Accordingly, as long as there are no problems with the mechanism or control system of the robot, and after the robot arm has been positioned at the predetermined operating speed, the robot will respond to the robot instruction data to execute such services as workpiece and/or tool exchange, cleaning of machining scraps, manipulation of the hand and the like.
In the aforesaid robot system the maximum range over which the robot is capable of moving is determined by the design specifications, but the robot has complete freedom of movement within this range. However, there are often cases where it is desired to establish, within the range of maximum allowable movement, an area or areas which the robot is forbidden to enter. Such areas will be referred to simply as forbidden areas hereinafter. These areas are necessary to ensure operator safety, and to prevent damage to the robot or machine tool, as would be likely to occur if the robot arm were to strike a portion of the machine tool projecting into the abovementioned range of allowable movement. A disadvantage encountered in establishing forbidden areas is a major complication of the teaching operation. This is because the operator must teach the robot not to enter a forbidden area which is difficult, time consuming and inherently prone to error.